One conventional virtualized platform includes a physical network interface that includes physical ports that are shared among multiple virtual machines implemented by the platform via a software switching mechanism executed by the host processor in the platform. The software switching mechanism implements all of the switching-related functions in the platform that facilitate and control sharing of the ports among the virtual machines.
Unfortunately, implementing all of these switching-related functions in software executed by the host processor results in an undesirably large amount of host processor computation bandwidth being consumed, undesirably high amounts of actuating power being consumed by the host processor, and undesirably large amounts of heat being generated by the host processor. It also results in an undesirably large amount of latency in data transfers between the ports and the virtual machines, as a result, at least in part, of an intermediate transfer of the data to or from one or more queues associated with software mechanism.
In another conventional virtualized platform, all of these switching-related functions are implemented by a hardware switch. Unfortunately, in order to implement all of these switching-related functions in hardware, undesirably large hardware content addressable memories and side random access memories typically are required; this consumes an undesirably large amount of integrated circuit “real estate.” Also, disadvantageously, the forwarding algorithms and/or policies implemented by such hardware switches typically are hard-coded and cannot be easily updated, modified, or changed.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art. Accordingly, it is intended that the claimed subject matter be viewed broadly.